package com.reservation.taxi.taxi.enums;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * 接口类型枚举
 */
public enum InterfaceLogoEnum {

    /**
     * BASIC,基础静态信息
     */
    BASIC("BASIC", "基础静态信息"),

    /**
     * OPERATION,经营信息
     */
    OPERATION("OPERATION", "经营信息"),

    /**
     * GPS，GPS定位信息
     */
    GPS("GPS", "GPS定位信息"),

    /**
     * ORDER，订单信息
     */
    ORDER("ORDER", "订单信息"),

    /**
     * EVALUATE，服务质量信息
     */
    EVALUATE("EVALUATE", "服务质量信息"),

    /**
     * RELATIONSHIP，人车对应关系信息
     */
    RELATIONSHIP("RELATIONSHIP", "人车对应关系信息"),

    /**
     * SHARE，私人小客车合乘信息
     */
    SHARE("SHARE", "私人小客车合乘信息"),

    /**
     * TOKEN，获取TOKEN
     */
    TOKEN("TOKEN", "获取TOKEN"),

    /**
     * REGIST，注册注销
     */
    REGIST("REGIST", "注册注销"),

    ;


    /**
     * 编码
     */
    private final String code;

    /**
     * 描述
     */
    private final String message;

    InterfaceLogoEnum(String code, String message) {
        this.code = code;
        this.message = message;
    }

    public String getCode() {
        return code;
    }

    public String getMessage() {
        return message;
    }

    /**
     * 根据code获取枚举
     *
     * @param code
     * @return
     */
    public static InterfaceLogoEnum getByCode(String code) {
        InterfaceLogoEnum en = null;
        for (InterfaceLogoEnum e : InterfaceLogoEnum.values()) {
            if (e.getCode().equals(code)) {
                en = e;
                break;
            }
        }
        return en;
    }


    /**
     * 获取枚举list数组
     *
     * @return
     */
    public static List<Map<Object, Object>> toList() {
        List<Map<Object, Object>> enumList = new ArrayList<>();
        for (InterfaceLogoEnum e : InterfaceLogoEnum.values()) {
            Map<Object, Object> enumMap = new HashMap<>();
            enumMap.put(e.getCode(), e.getMessage());
            enumList.add(enumMap);
        }
        return enumList;
    }

}
